
//---------------------------------------------------------------------------
#ifndef PG1_GAME_H
#define PG1_GAME_H
//---------------------------------------------------------------------------
#include "pg1_api.h"
//---------------------------------------------------------------------------
namespace pg1
{
//---------------------------------------------------------------------------
class Renderer;
class Input;
class Timer;
//---------------------------------------------------------------------------
class PG1_API Game
{
public:
	Game ();


// interface
public:
	virtual bool init (Renderer& rkRenderer) = 0;
	virtual void frame (Renderer& rkRenderer, Input& rkInput, Timer& rkTimer) = 0;
	virtual void deinit () = 0;


// done
public:
	bool isDone () const;
	void setDone (bool bDone);

private:
	bool m_bDone;
};
//---------------------------------------------------------------------------
#include "pg1_game.inl"
//---------------------------------------------------------------------------
} // end namespace
//---------------------------------------------------------------------------
#endif // PG1_GAME_H
//---------------------------------------------------------------------------
